import random

def guess_number_game(initial_money=5000, guess_range=20, bet=500, reward=3000):
    """
    猜数字游戏函数

    参数:
    initial_money (int): 初始金额，默认为5000
    guess_range (int): 随机数范围，默认为1到20
    bet (int): 每次猜测扣除的金额，默认为500
    reward (int): 猜对后获得的奖励，默认为3000

    返回:
    int: 游戏结束后的剩余金额
    """
    money = initial_money
    rdm = random.randint(1, guess_range)

    print(f"欢迎参加猜数字游戏！你有{money}元本金。")
    print(f"我已经想好了一个1到{guess_range}之间的数字，每次猜测将扣除{bet}元。")

    while True:
        try:
            ipt = int(input("请输入你猜测的数字："))
        except ValueError:
            print("请输入有效的整数！")
            continue

        if ipt == rdm:
            money += reward
            print(f"恭喜猜中，本轮幸运数字：{rdm}，你获得了{reward}元奖励！")
            print(f"当前本金余额为{money}元。")
            choice = input("是否继续下一轮游戏？（继续/退出）")
            if choice == "继续":
                guess_number_game(initial_money=money)
            break
        else:
            money -= bet
            if ipt > rdm:
                print("大了")
            else:
                print("小了")

            if money < bet:
                print(f"余额不足，你当前的本金余额为{money}元")
                break
            else:
                print(f"你还剩{money}元，继续猜测吧！")

    return money

# 调用示例
if __name__ == "__main__":
    final_money = guess_number_game()
    print(f"游戏结束，你的最终余额是：{final_money}元")